package com.zombieprogrammer.tipo;

import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.utils.Array;

public class Agua extends Tipo {

	// Constructor

	public Agua() {
		this.nombre = "Agua";
		this.cant_patas_min = 1;
		this.colas = new Array<Texture>();
		this.cuerpo_circulares = new Array<Texture>();
		this.cuerpo_rectangulares = new Array<Texture>();
		this.cabezas_cuadradas = new Array<Texture>();
		this.cabezas_rectangulares = new Array<Texture>();
		this.ojos = new Array<Texture>();
		this.patas = new Array<Texture>();
		this.path = "texturas/agua/";
		cargar_colas();
		cargar_cuerpos_circulares();
		cargar_cuerpos_rectangulares();
		cargar_ojos();
		cargar_patas();
		cargar_cabezas_cuadradas();
		cargar_cabezas_rectangulares();

	}

	// Metodos

	public void cargar_colas() {
		int indice = 0;
		try {
			while (indice <= TEXTURAS_MAX) {
				String indice_str = String.valueOf(indice);
				colas.add(new Texture(path + "colas/cola" + indice_str + ".png"));
				indice++;
				// System.out.println(path + "colas/cola" + indice_str +
				// ".png");

			}
		} catch (Exception e) {
			System.out.println(nombre + ": Se cargaron " + indice + " cola/s");
		}
	}

	public void cargar_cuerpos_circulares() {
		int indice = 0;
		try {
			while (indice <= TEXTURAS_MAX) {
				String indice_str = String.valueOf(indice);
				cuerpo_circulares.add(new Texture(path + "cuerpos/cc"
						+ indice_str + ".png"));
				indice++;
				// System.out.println(path + "cuerpos/cc" + indice_str +
				// ".png");

			}
		} catch (Exception e) {
			System.out.println(nombre + ": Se cargaron " + indice
					+ " cuerpo/s circular/es");
		}
	}

	public void cargar_cuerpos_rectangulares() {
		int indice = 0;
		try {
			while (indice <= TEXTURAS_MAX) {
				String indice_str = String.valueOf(indice);
				cuerpo_rectangulares.add(new Texture(path + "cuerpos/cr"
						+ indice_str + ".png"));
				indice++;
				// System.out.println(path + "cuerpos/cr" + indice_str +
				// ".png");
			}
		} catch (Exception e) {
			System.out.println(nombre + ": Se cargaron " + indice
					+ " cuerpo/s rectangular/es");
		}
	}

	public void cargar_patas() {
		int indice = 0;
		try {
			while (indice <= TEXTURAS_MAX) {
				String indice_str = String.valueOf(indice);
				patas.add(new Texture(path + "patas/pata" + indice_str + ".png"));
				indice++;
				// System.out.println(path + "patas/pata" + indice_str +
				// ".png");

			}
		} catch (Exception e) {
			System.out.println(nombre + ": Se cargaron " + indice + " pata/s");
		}
	}

	public void cargar_ojos() {
		int indice = 0;
		try {
			while (indice <= TEXTURAS_MAX) {
				String indice_str = String.valueOf(indice);
				ojos.add(new Texture(path + "ojos/ojo" + indice_str + ".png"));
				indice++;
				// System.out.println(path + "ojos/ojo" + indice_str +
				// ".png");

			}
		} catch (Exception e) {
			System.out.println(nombre + ": Se cargaron " + indice + " ojo/s");
		}
	}

	public void cargar_cabezas_cuadradas() {
		int indice = 0;
		try {
			while (indice <= TEXTURAS_MAX) {
				String indice_str = String.valueOf(indice);
				cabezas_cuadradas.add(new Texture(path + "cabezas/cc"
						+ indice_str + ".png"));
				indice++;
				// System.out.println(path + "cuerpos/cc" + indice_str +
				// ".png");

			}
		} catch (Exception e) {
			System.out.println(nombre + ": Se cargaron " + indice
					+ " cabeza/s cuadrada/s");
		}
	}

	public void cargar_cabezas_rectangulares() {
		int indice = 0;
		try {
			while (indice <= TEXTURAS_MAX) {
				String indice_str = String.valueOf(indice);
				cabezas_rectangulares.add(new Texture(path + "cabezas/cr"
						+ indice_str + ".png"));
				indice++;
				// System.out.println(path + "cuerpos/cc" + indice_str +
				// ".png");

			}
		} catch (Exception e) {
			System.out.println(nombre + ": Se cargaron " + indice
					+ " cabeza/s rectangular/es");
		}
	}

	@Override
	public Color color_tipo(int pureza) {
		float B = (rnd.getRandomInt(200, 245)) / 255f;
		// Color Pricicapl BLUE:azul
		float G = (COLOR_MAX - pureza) / 255f;
		// Color secunadio 1 GREEN:verde
		float R = (COLOR_MAX - pureza) / 255f;
		// Color secunadio 2 RED:rojo
		return new Color(R, G, B, 1);
	}

}
